﻿// Decompiled with JetBrains decompiler
// Type: UnityEngine.StaticBatchingHelper
// Assembly: UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: E6AE6B5A-2752-4B07-9528-C8B77C62CE79
// Assembly location: C:\Users\windys\Unity\2021.3.39f1c1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll
// XML documentation location: C:\Users\windys\Unity\2021.3.39f1c1\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.xml

using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using UnityEngine.Bindings;

#nullable disable
namespace UnityEngine
{
  [NativeHeader("Runtime/Graphics/Mesh/MeshCombiner.h")]
  [NativeHeader("Runtime/Graphics/Mesh/MeshScriptBindings.h")]
  [StructLayout(LayoutKind.Sequential, Size = 1)]
  internal struct StaticBatchingHelper
  {
    [FreeFunction("MeshScripting::CombineMeshVerticesForStaticBatching")]
    [MethodImpl(MethodImplOptions.InternalCall)]
    internal static extern Mesh InternalCombineVertices(
      MeshSubsetCombineUtility.MeshInstance[] meshes,
      string meshName);

    [FreeFunction("MeshScripting::CombineMeshIndicesForStaticBatching")]
    [MethodImpl(MethodImplOptions.InternalCall)]
    internal static extern void InternalCombineIndices(
      MeshSubsetCombineUtility.SubMeshInstance[] submeshes,
      Mesh combinedMesh);

    [FreeFunction("IsMeshBatchable")]
    [MethodImpl(MethodImplOptions.InternalCall)]
    internal static extern bool IsMeshBatchable(Mesh mesh);
  }
}
